package model

import com.google.gson.annotations.Expose

//{
//    "id": 1,
//    "name": "电脑",
//    "children": [
//    {
//        "id": 100,
//        "name": "笔记本"
//    },
//    {
//        "id": 101,
//        "name": "台式机"
//    }
//    ]
//}

//@Expose //
//@Expose(deserialize = true,serialize = true) //序列化和反序列化都都生效，等价于上一条
//@Expose(deserialize = true,serialize = false) //反序列化时生效
//@Expose(deserialize = false,serialize = true) //序列化时生效
//@Expose(deserialize = false,serialize = false) // 和不写注解一样

data class ExposeBean(@Expose val id: Long,
                      @Expose val name: String,
                      @Expose val children: List<ExposeBean>? = null,

        //假设需要用到一个无关系列化和反系列化的字段，并指向自身，会造成循环引用
                      var parent: ExposeBean? = null)